The Global Navigation Satellite System (GNSS) under construction encompasses the U.S. Global Positioning System (GPS), the Russian Global Navigation Satellite System (GLONASS) and the future European GALILEO System. The GPS has a constellation of twenty four satellites that are in six different orbit plans around the earth. A navigation solution is obtained through measuring propagation delay times of the radio signals broadcast by the orbiting satellites to a GPS receiver. Normally, a receiver must acquire signals from at least four satellites in order to solve for the variables of longitude, latitude, altitude and time that are needed to precisely determine location. The received GPS signals must attain a minimum power level to ensure a GPS solution, which is routinely met when there is a clear line-of-sight (LOS) view from the receiver antenna to GPS satellites above the horizon.
Each GPS satellite transmits signals at several frequencies including 1575.42 MHz (referred to as L1), 1227.60 MHz (L2) and soon 1176.45 MHz (L5). Each carrier signal is phase-modulated with at least one pseudo random number (PRN) code, which is also known as the spectrum spreading code, and some signals are further modulated with a navigation data message that provides the precise satellite orbital, clock, and other information. Each spectrum-spreading code is unique for a satellite and is used as the identifier for that satellite. At the receiver, successful correlation between the incoming signal and a locally generated reference code identifies which GPS satellite signal is being received. This also removes the spectrum-spreading code and this despreading process increases the signal to noise ratio (SNR) and allows the navigation data bits to be demodulated. Decoding of PRN codes and navigation data bits provides the exact knowledge of the GPS satellite orbital position and the time at which the received signal was transmitted (a transmission time tag). Each GPS receiver has its own local clock used to mark the time at which the signal was received (a reception time tag). The difference between the two time tags is a measurement of the signal propagation time. The range to each satellite is then calculated by multiplying each delay by the speed of light. The location and time of the user are then found by solving known equations that incorporate the measured range (also called the pseudorange due to timing errors involved in the measurement) to the known location of several GPS satellites.
However, when the line-of-sight view between the receiver and a satellite is obstructed (e.g., due to foliage, mountains, buildings, or other structures) the GPS signal strength may be severely attenuated, leading to position fix with poor accuracy and even breakdown of tracking loops inside a regular receiver. It is therefore desired to improve GPS receiver sensitivity to operate on GPS signals of very low power level (also referred to as weak signals) to satisfy the requirements of location-based mobile e-commerce and emergency call location (E911).
To enable weak GPS signal acquisition, one known technique at the receiver end is to extend the signal integration time. Coherent integration is more gainful than the non-coherent counterpart. However, when the coherent integration interval extends beyond, say, 20 milliseconds, which is the duration of one data bit for GPS C/A-code, the sign reversal of navigation data bits becomes destructive if it occurs in the middle of a long coherent integration. As a result, an additional signal parameter, namely, the data bit transition, has to be searched in addition to the two usual parameters, code phase (time) and carrier frequency, beside the ID number of GPS satellites. This in fact constitutes a four dimensional search.
With nominally twenty-four active GPS satellites in orbit, the maximum number of visible satellites is about ten for a near-Earth receiver. For GPS C/A-code, the amount of search in time (code phase) is actually fixed. With a search step of a half code chip, there are 2046 steps needed to cover the entire code sequence of 1023 chips. Sequential stepping through all the 2046 code phases, use of 2046 correlators in parallel, or a combination of sequential and parallel techniques are among a host of approaches of different complexity for code search and acquisition.
However, the amount of search in frequency and in data bit transition increases as the coherent integration prolongs. This can be seen from Eq. (1) below:Δf≦½Ti  (1)where Ti is the desired coherent integration time interval and Δf is the tolerable frequency error (thus the search step size) in order to keep the processing loss within an acceptable level. The frequency uncertainty for a stationary user (due to the relative motion between the user and a GPS satellite and the receiver local clock drift) is typically ±5 kHz. When the integration time is increased from the C/A-code epoch of 1 millisecond to, say, 20 milliseconds, the amount of frequency search needs to be increased by 20-fold according to Eq. (1). Similarly, the number of possible locations of data bit transition also increases proportionally as the coherent integration interval increases. There are also second-order effects associated with the extended coherent integration. This mainly involves changes in the carrier frequency and code chipping rate due to acceleration and instability of local clock, which may become significant over long integration intervals.
A typical search process is described below for a GPS receiver employing 1 millisecond correlation for the C/A-code using either sequential or parallel correlators. It involves search in four dimensions. The first search is to look for a visible GPS satellite among those active satellites in orbit. For a given satellite, parametric search is conducted in three nested loops. The outer parametric loop is typically the frequency search, which steps through the frequency uncertainty interval 500 Hz per step. The selected frequency offset (a frequency bin) is added to the nominal frequency to control the carrier numerically controlled oscillator (NCO) whose output drives the in-phase and quadrature components of the reference carrier for down-conversation to baseband.
The middle parametric loop is the code phase search over the entire code epoch of 1023 chips, a half chip per step (a code lag) typically. In a correlator-based receiver, the code phase search may be done sequentially one code phase at a time or in parallel with all code phases searched at the same time.
The inner loop accumulates the 1 millisecond correlations for each search grid point made of the frequency bin and code lag over a certain period of time (a dwell time), during which the signal is added up for detection. Under normal signal strength, the dwell time is usually chosen to be several milliseconds wherein the 1 millisecond correlations are power-combined (i.e., the non-coherent integration) with the navigation data bit transitions squared out, thus not being an issue. However, for weak GPS signals, the dwell time may extend beyond 20 milliseconds for coherent integration where the navigation data bit transition plays a critical role. It is the way in which coherent integration is carried out over an interval lasting multiple data bits that differentiates a weak signal acquisition (and tracking) scheme from that with normal signal strength.
For a search grid, the worst code uncertainty is a quarter of a chip duration (Δt=Tc/4) and the worst Doppler uncertainty is Δf=250 Hz. As a result, the maximum loss in a 1 millisecond coherent integration (Ti=1 millisecond) is
                                                        Loss              =                                                20                  ⁢                                      log                    10                                    ⁢                                      R                    ⁡                                          (                                              Δ                        ⁢                                                                                                  ⁢                        t                                            )                                                                      +                                  20                  ⁢                                                            log                      10                                        ⁡                                          [                                                                                                    sin                            ⁡                                                          (                                                              π                                ⁢                                                                                                                                  ⁢                                Δ                                ⁢                                                                                                                                  ⁢                                                                  fT                                  i                                                                                            )                                                                                /                          πΔ                                                ⁢                                                                                                  ⁢                                                  fT                          i                                                                    ]                                                                                                                                              =                                                                    20                    ⁢                                                                  log                        10                                            ⁡                                              (                        0.75                        )                                                                              +                                      20                    ⁢                                                                  log                        10                                            ⁡                                              (                        0.9                        )                                                                                            =                                                      -                    3.4                                    ⁢                                                                          ⁢                  dB                                                                                        (        2        )            where R(·) stands for the correlation function with an ideally triangular shape.
For this worst search grid point, the correlator output is complex-valued. Since the spreading code is stripped off, the signal now contains a sine wave with its frequency being the residual Doppler up to 250 Hz that is bi-phase modulated by the unknown navigation data bit sequence at 50 Hz. However, the signal is too weak for the modulation to be visible at this point for it is deeply buried in noise.
To boost the SNR, coherent integration needs to last longer. When the despreading correlation is carried out every 1 millisecond, the complex correlation is available at the rate of 1 kHz. To further integrate, there will be twenty 1 millisecond correlations (20 data points) per a data bit. When coherent integration is beyond two data bits, the number of possible bit transitions is large and bit transition patterns become complicated.
There are, consequently, outstanding problems with known techniques for weak GPS signal acquisition and tracking in a standalone high-sensitivity receivers.
Another approach to acquiring weak GPS signals is assisted GPS (AGPS). The AGPS approach relies upon a wireless data link (or other means) to distribute, in real time, such information as time, frequency, navigation data bits, satellite ephemeredes, and approximate position as well as differential corrections to special GPS receivers equipped with a network modem so as to reduce the uncertainty search space, to help lock onto signals, and to assist navigation solution. This approach, however, comes with a heavy price associated with installing and maintaining the wireless aiding infrastructure and services required to provide the coverage.
A need therefore exists for weak GPS signal acquisition without network assistance. This need is met by the present invention as described and claimed below, which belongs to the category of approaches aimed at enhancing the sensitivity of standalone GPS receivers.